package com.foodapp.back.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.foodapp.back.dto.RestaurantDTO;
import com.foodapp.back.entity.Restaurant;
import com.foodapp.back.vo.RestaurantVO;

/**
 * 餐厅服务接口
 */
public interface RestaurantService extends IService<Restaurant> {

    /**
     * 分页查询餐厅列表
     *
     * @param page     页码
     * @param size     每页大小
     * @param category 分类
     * @param keyword  关键字
     * @return 餐厅列表
     */
    Page<RestaurantVO> pageList(Integer page, Integer size, String category, String keyword);

    /**
     * 获取餐厅详情
     *
     * @param id 餐厅ID
     * @return 餐厅详情
     */
    RestaurantVO getRestaurantById(Long id);

    /**
     * 新增餐厅
     *
     * @param restaurantDTO 餐厅信息
     * @return 是否成功
     */
    boolean addRestaurant(RestaurantDTO restaurantDTO);

    /**
     * 更新餐厅
     *
     * @param restaurantDTO 餐厅信息
     * @return 是否成功
     */
    boolean updateRestaurant(RestaurantDTO restaurantDTO);

    /**
     * 删除餐厅
     *
     * @param id 餐厅ID
     * @return 是否成功
     */
    boolean deleteRestaurant(Long id);

    /**
     * 更新餐厅状态
     *
     * @param id     餐厅ID
     * @param status 状态
     * @return 是否成功
     */
    boolean updateStatus(Long id, Integer status);
}
